#include <iostream>

#include "serveur.h"
#include "threads.h"

using namespace std;

int main(int argc, char **argv)
{
	// port d'attente des serveurs de partie
	u_short portServeurPartie = 7770;
	// port d'attente des clients
	u_short portLecture = 7771;
	// port de lecture des messages des serveurs de partie
	u_short portLectureServeurPartie = 7772;

	// port d'ecoute du serveur de partie distant
	u_short portEcouteServeurPartie = 2330;
	// port d'ecoute des serveurs de partie
	u_short portEcouteClientServeurPartie = 2331;


	Serveur * serveur;
	serveur = Serveur::getInstance(portServeurPartie, portLecture, portLectureServeurPartie,
								portEcouteClientServeurPartie, portEcouteServeurPartie);

	pthread_t * join_toEcouteNouveauServeurPartie =  serveur->initAttendServeurPartie();
	pthread_t * join_toEcouteNouveauClient = serveur->initAttendClient();
	pthread_t * join_toLectureServeurPartie = serveur->initLectureServeurPartie();

	//pthread_t * join_toTestServeurPartie = serveur->initTestServeurPartie();



	(void) pthread_join(*join_toEcouteNouveauServeurPartie, NULL);
	(void) pthread_join(*join_toEcouteNouveauClient, NULL);
	(void) pthread_join(*join_toLectureServeurPartie, NULL);
	
	//(void) pthread_join(*join_toTestServeurPartie, NULL);

	return 0;
}
